//
// Created by feng on 19-4-21.
//
#ifndef SOLARENERGY_CHIER_CYLINDERRECEIVERRECTANGLEGRIDRAYTRACING_CUH
#define SOLARENERGY_CHIER_CYLINDERRECEIVERRECTANGLEGRIDRAYTRACING_CUH

namespace solar
{
    class CloudLoader;
    namespace cuda
    {
        struct SunrayArgument;
        class CudaCylinderReceiver;
        class CudaRectangleGrid;
        struct HeliostatArgument;
    } // namespace cuda
} // namespace solar
namespace solar::cuda
{
    void CylinderReceiverRectangleGridRayTracing(SunrayArgument* sunrayArgument,
                                                 CudaCylinderReceiver* cylinderReceiver,
                                                 CudaRectangleGrid* rectGrid,
                                                 HeliostatArgument* heliostatArgument,
                                                 float3* d_subHeliostat_vertexe, float factor,
                                                 bool res, CloudLoader* cloud);
}

#endif // SOLARENERGY_CHIER_CYLINDERRECEIVERRECTANGLEGRIDRAYTRACING_CUH
